# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

# 定义变量方便扩展
boxes = [
    {
        :name => "docker01",
        :eth1 => "192.168.2.100",
        :mem => "1024",
        :username => "vagrant",
        :password => "vagrant"
    }
]

Vagrant.configure(2) do |config|

  config.vm.box = "centos7-docker"

  boxes.each do |opts|
      config.vm.define opts[:name] do |config|
        config.vm.hostname = opts[:name]
        config.vm.provider "vmware_fusion" do |v|
          v.vmx["memsize"] = opts[:mem]
          v.vmx["numvcpus"] = opts[:cpu]
        end

        config.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--memory", opts[:mem]]
          v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
        end

        # 静态ip
        config.vm.network :private_network, ip: opts[:eth1]

        # 使用密码登陆
        config.ssh.username = opts[:username]
        config.ssh.password = opts[:password]
        config.ssh.insert_key = true
      end
  end

  # config.vm.synced_folder "./labs", "/home/vagrant/labs"
  # config.vm.provision "shell", privileged: true, path: "./setup.sh"
  config.vm.provision "shell", inline: <<-SHELL
      sudo systemctl stop firewalld
      sudo systemctl start docker
  SHELL
end